#include <stdio.h>
#include <uuid/uuid.h>
#include <resolv.h> //b64_pton
#include <string.h>

// 生成uuid
char* gen_uuid(void){
    static char uuid_str[37];
    uuid_t uuid;
    uuid_generate(uuid);
    uuid_unparse(uuid, uuid_str);
    return uuid_str;
}

// base64解码
// base64：需要解码的base64字符串
// decoded: 解码后的数字
// 返回值：解码后的大小
size_t base64_decode(const char* base64,char* decoded){ 
    // 计算解码后的大小
    size_t decoded_size = (strlen(base64) / 4) * 3;
    int size = b64_pton(base64, decoded, decoded_size);
    if(size<0){
        return 0;
    }
    return size;
}


int main(){
    puts(gen_uuid());
    char text[100];
    int size = base64_decode("aGVsbG8sIHdvcmxk",text);
    printf("%s,%d\n",text,size);
    return 0;
}